package com.powerbank.user.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 优惠券模板VO
 */
@Data
public class CouponTemplateVO {

    /**
     * 模板ID
     */
    private Long id;

    /**
     * 模板编码
     */
    private String templateCode;

    /**
     * 优惠券名称
     */
    private String couponName;

    /**
     * 优惠券类型
     */
    private String couponType;

    /**
     * 优惠券类型描述
     */
    private String couponTypeDesc;

    /**
     * 优惠券金额
     */
    private BigDecimal couponAmount;

    /**
     * 折扣率
     */
    private BigDecimal discountRate;

    /**
     * 使用门槛
     */
    private BigDecimal minAmount;

    /**
     * 最大优惠金额
     */
    private BigDecimal maxDiscount;

    /**
     * 适用范围
     */
    private String applyScope;

    /**
     * 适用范围描述
     */
    private String applyScopeDesc;

    /**
     * 发放总数
     */
    private Integer totalCount;

    /**
     * 剩余数量
     */
    private Integer remainingCount;

    /**
     * 每人限领数量
     */
    private Integer limitPerUser;

    /**
     * 用户已领取数量
     */
    private Integer userReceivedCount;

    /**
     * 有效期类型
     */
    private String validityType;

    /**
     * 有效期开始时间
     */
    private LocalDateTime validStartTime;

    /**
     * 有效期结束时间
     */
    private LocalDateTime validEndTime;

    /**
     * 相对有效期天数
     */
    private Integer validDays;

    /**
     * 描述
     */
    private String description;

    /**
     * 使用说明
     */
    private String usageRules;

    /**
     * 是否可领取
     */
    private Boolean canReceive;

    /**
     * 不可领取原因
     */
    private String cannotReceiveReason;

    /**
     * 优惠描述
     */
    private String discountDesc;

    /**
     * 使用条件描述
     */
    private String usageCondition;
}